package com.djf.djfcs.entity.es;

import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 商品ES文档实体类
 * 用于Elasticsearch索引存储
 */
@Data
@Accessors(chain = true)
public class ProductDocument implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 商品ID
     */
    private Long id;

    /**
     * 商品编码
     */
    private String productCode;

    /**
     * 商品名称
     */
    private String productName;

    /**
     * 商品分类
     */
    private String category;

    /**
     * 商品品牌
     */
    private String brand;

    /**
     * 商品价格
     */
    private BigDecimal price;

    /**
     * 库存数量
     */
    private Integer stock;

    /**
     * 商品状态
     */
    private String status;

    /**
     * 商品描述
     */
    private String description;

    /**
     * 商品图片URL
     */
    private String imageUrl;

    /**
     * 租户ID
     */
    private String tenantId;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 同步时间戳
     */
    private Long syncTimestamp;

    /**
     * 操作类型（INSERT, UPDATE, DELETE）
     */
    private String operationType;
}